package com.biz.primus.model.payment.vo.req;

import com.biz.primus.model.payment.enums.PaymentTradeType;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * AllInPayPaymentReqVo
 *
 * @author JKLiues
 * @date 2017年11月10日
 */
@Getter
@Setter
public class AllInPayPaymentReqVo implements Serializable {
    private static final long serialVersionUID = 5660313854790204308L;

    /**
     * 版本号默认1L
     */
    private Long version;

    /**
     * 交易金额（分）
     */
    @NotNull
    private Integer trxamt;

    /**
     * 交易单号
     */
    @NotNull
    private String reqsn;

    /**
     * 交易方式
     */
    @NotNull
    private PaymentTradeType paytype;

    /**
     * 随机字符串（1-32）
     */
    @NotNull
    private String randomstr;

    /**
     * 订单标题
     */
    private String body;

    /**
     * 备注
     */
    private String remark;

    /**
     * 订单过期时间默认15 单位分钟
     */
    private Integer validtime;

    /**
     * JS支付时使用
     * 微信支付-用户的微信openid
     * 支付宝支付-用户user_id
     */
    @NotNull
    private String acct;

    /**
     * 接收微信支付异步通知回调地址，通知url必须为直接可访问的url，不能携带参数。
     */
    @NotNull
    private String notify_url;

    /**
     * no_credit--指定不能使用信用卡支付
     * 暂时只对微信支付有效,仅支持no_credit
     */
    private String limit_pay = "no_credit";

    private String sign;
}